package com.dong.designpattern.singleton;

/**
 * 单例模式 - 懒汉式6（lazy loading）
 * 枚举单例：不仅可以解决线程同步，还可以防止反序列化
 * （参考：https://www.cnblogs.com/chiclee/p/9097772.html）
 * （最完美的方式，没有任何问题了）
 *
 * @author by jiweidong on 2021/11/16.
 */
public enum Singleton08 {

    INSTANCE;

    public static void main(String[] args) {
        for (int i = 0; i < 100; i++) {
            new Thread(() -> {
                System.out.println(Singleton08.INSTANCE.hashCode());
            }).start();
        }
    }
}
